#ifndef BLOCKDATA_H
#define BLOCKDATA_H

#include <vector>
#include "../binge/core/Timer.h"
#include "../binge/system/Data.h"

class BlockData : public binge::Data
{
public:
    BlockData(void);
    ~BlockData(void);

    virtual void AddObject(int id);
    virtual void RemoveObject(int id);

    void SetMoving(int id, bool value);
    bool IsMoving(int id);

    void SetHit(int id, bool value);
    bool IsHit(int id);

    void SetMoveValue(int id, int value);
    int GetMoveValue(int id);

    void SetMoveTimer(int id, unsigned int value);
    unsigned int GetMoveTimer(int id);

    void SetMoveStart(int id, unsigned int value);
    unsigned int GetMoveStart(int id);

    binge::Timer timer;

private:
    std::vector<bool> objectsMoving;
    std::vector<bool> objectsHit;
    std::vector<int> objectsMoveValue;
    std::vector<unsigned int> objectsMoveTimer;
    std::vector<unsigned int> objectsMoveStart;
};

#endif // BLOCKDATA_H
